home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / CRS / crs56.d81 / data_def.h < prev    next >
Text File  |  2009-10-10  |  3KB  |  85 lines

  1. /*
  2.     ─ATAñ─EF.H
  3.  
  4.     ═EMORY RESIDENT ─ATAñ┬ASE DEFINITIONS
  5.     FOR RUNTIME ALLOCATION IN ├.
  6.  
  7.     THE IDEA HERE IS TO ALLOW A RANGE OF PRE-DEFINED DATA TYPES
  8.     TO BE INVOKED AS NEEDED BY A ├ APPLICATION WITH SOME SIMPLE
  9.     COMMON SENSE NAMES AND LIMITATIONS.
  10.  
  11.         ┬Y ─ENNY ╞IGUERRES
  12.  
  13.     ╬╧╘┼:  THIS IS JUST A RUN - THRU AND MAY HAVE SYNTAX 
  14.            ERRORS OR LOGICAL ERRORS IN IT SO CHECK IT OUT AND
  15.            LET ME KNOW!
  16.  
  17. */
  18.  
  19. TYPEDEF CHAR BOOLEAN;
  20. TYPEDEF CHAR SEX;
  21. ENUM BOOLEAN █T,F▌;
  22. ENUM INT INTEGER █ -32767 .. +32767 ▌;
  23. TYPEDEF CHAR *STRING[];
  24. TYPEDEF DOUBLE FLOAT;
  25. ENUM SEX █M,F▌;
  26. ENUM INT AGE █1 .. 100▌;
  27. TYPEDEF CHAR *STATE[2];
  28. TYPEDEF DOUBLE PERCENT;
  29. STRUCT PHONE █                          /* MAKE ALL OF THESE BE REFERENCED VIA */
  30.     CHAR AC[3],PREFX[3],LAST[4]; ▌;     /* PTR'S IN THE ACTUAL UNION TAG, SEE  */
  31. STRUCT TIME █                           /* THE COMMENTS A FEW LINES DOWN AS TO */
  32.     CHAR HRS[2],MIN[2],SEC[2],TENTHS[1]; ▌;/* WHY                              */
  33. STRUCT DATE █
  34.     CHAR DD[2],MM[2],YY[2]; ▌;
  35. STRUCT ZIP █
  36.     CHAR CODE[5]; ▌;
  37. STRUCT MONEY █
  38.     CHAR DOLLARS[9],CENTS[2]; ▌;
  39.  
  40. UNION DATAñELEMENT █
  41.     INTEGER;    /* 0 */
  42.     STRING;     /* 1 *//* A POINTER TO THE STRING NOT THE ACTUAL ARRAY!*/
  43.     DATE;       /* 2 *//* (TO KEEP THE FINAL STRUCT SMALL) UNION WILL  */
  44.     TIME;       /* 3 *//* ALLOCATE SIZE OF LARGEST MEMBER!             */
  45.     BOOLEAN;
  46.     REAL;
  47.     AGE;
  48.     SEX;
  49.     PHONE;
  50.     STATE;
  51.     ZIP;
  52.     MONEY;
  53.     PERCENT; ▌; /* 12 */
  54.  
  55. STRUCT DATAñREC █
  56.     UNSIGNED *DATAñREC;     /* NEXT RECORD IN DATA BASE */
  57.     UNSIGNED *ELEMENTñLIST; ▌; /* TO 1ST ITEM OF THIS RECORD */
  58.  
  59. STRUCT ELEMENTñLIST █
  60.     UNSIGNED *ELEMENTñLIST; /* LINK ITEMS TO FORM A RECORD */
  61.     INT DñTYPEñNUM;         /* WHAT TYPE OF ITEM IS THIS? */
  62.     UNION DATAñELEMENT; ▌;  /* THE ITEM OR THE ADRESS OF IT */
  63.  
  64. /*
  65.     DATA REC IS A LIST OF RECORDS WITH A POINTER TO THE FIRST ELEMENT
  66.     OF EACH RECORD.
  67.     
  68.     ELEMENT LIST IS THE ACTUAL RECORD STRUCTURE WITH A POINTER TO THE
  69.     NEXT ITEM IN THE RECORD, AN IDENTIFYER OF THIS ITEM'S DATA TYPE,
  70.     AND A DATA ITEM WHICH IS ONE OF THE VALID DATA TYPES.
  71.  
  72.     ╬╧╘┼: AS ╔ SAID ABOVE THIS IS ╬╧╘ A FUNCTIONAL .H FILE JUST A 
  73.           FAST RUN-DOWN OF MY IDEA. ╔ LEAVE IT TO OTHERS TO EXAMINE THIS
  74.           AND SEE IF THEY LIKE THE IDEA ╔ HAVE, AND IF SO MAKE YOUR OWN
  75.           FUNCTIONAL DATA-MODEL. ╔ WROTE THIS IN ABOUT 10 MINUTES AND 
  76.           DID NOT HAVE TIME TO CHECK MY SYNTAX AS ╔ WENT AT IT.
  77.           MABY LATER ╔'LL HAVE TIME AND THEN DO A SHORT DEMO PROGRAM
  78.           USING THIS IDEA.
  79.     
  80.                 ─ENNY ╞IGUERRES
  81.                 ╬OV 27, 1987
  82.                 1:03 AM 
  83.                 ╙TOCKTON ├A.
  84. */